package com.itheima.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * <h1>Redis枚举</h1>
 *
 * @author <a href="515857087@qq.com">叶世铭</a>
 * @since 2022/12/8
 */
@Getter
@AllArgsConstructor
public enum RedisEnum {

    /**
     * 敏感词前缀树
     */
    SENSITIVE_VOCABULARY_TRIE("BACKEND:SENSITIVE_VOCABULARY_TRIE"),

    /**
     * 完整的组织结构
     */
    ORGANIZATION_STRUCTURE_COMPLETE("BACKEND:ORGANIZATION:ORGANIZATION_STRUCTURE_COMPLETE"),

    /**
     *  某个组织的子结构，需拼接organizationId
     */
    ORGANIZATION_STRUCTURE("BACKEND:ORGANIZATION:ORGANIZATION_STRUCTURE:"),

    /**
     * 某个组织的父结构，需拼接organizationId
     */
    ORGANIZATION_PARENT("BACKEND:ORGANIZATION:ORGANIZATION_PARENT:"),

    /**
     * 组织总表，用于organization有更新时清除缓存
     */
    ORGANIZATION("BACKEND:ORGANIZATION:"),

    /**
     * 信息点赞表（总点赞数）（zset）
     */
    MESSAGE_LIKES("BACKEND:MESSAGE:MESSAGE_LIKES"),

    /**
     * 用户-信息点赞表（用户和信息的点赞关系）（set）
     */
    USER_LIKE_MESSAGE("BACKEND:MESSAGE:USER_LIKE_MESSAGE:"),

    /**
     * 信息历史点赞数表(zset)
     */
    MESSAGE_LIKE_HISTORY("BACKEND:MESSAGE:MESSAGE_LIKE_HISTORY"),

    /**
     * 短信验证码
     */
    PHONE_CODE("BACKEND:PHONE:CODE:"),

    /**
     * 图片验证码
     */
    PHOTO_CODE("BACKEND:PHOTO:CODE:"),

    /**
     * 限制一个用户只能在一个地方进行登录
     */
    LOGIN_CHECK("BACKEND:LOGIN:");


    private final String redis;

}
